WebSocket is known as a Web standard communications protocol that keeps an established communication connection and implements a two-way low delay communication. Additionally, similar protocols assuming a permanent connection include MQTT (Message Queue Telemetry Transport) that implements one-to-one or one-to-many communications among devices. In these communication protocols, it is required to periodically transmit keep-alive packets to keep the connection so as not to disconnect a communication connection due to a relay device on a communication route. This is because if a no-communication state, in which no packets flow at all, continues for a certain amount of time, an interposed relay device may disconnect the communication connection.
A timeout value, which is a time until which a relay device disconnects a connection, differs according to the model or the setting of the relay device, and it is often the case where communication equipment cannot refer to this set value. For this reason, keep-alive packets are typically transmitted at a cycle of a value (e.g., 60 seconds), which is assumed to be less than a timeout set value of the relay device.
However, in the case of connecting with a large number of clients, a communication cost, and a load on communication equipment and a server communicating thereto (a load on CPU or the like) cannot be ignored in a scheme in which keep-alive packets are transmitted uniformly at a short cycle. In particular, as to cloud computing services that have been in widespread use, communications are often subject to usage based rates and an increase of traffic influences on an operation cost, and thus it is required to reduce the traffic as much as possible.